# Exporta un archivo xml de reporte


from xml.dom.minidom import Document
import core as core
import importar_XML as importe

def generar_reporte():
    grupo= core.darGrupoEscogido()
    for i in grupo.miembros:
        resultado=compara(i)
        #print resultado.asistio
        #i.reporte.append(resultado)
        i.reporte=(resultado)
            
            
def compara(miembro):
    rep=importe.Reporte()
    booleano=False
    if (asistio(miembro.direccion_mac)==True):
        booleano=True
    rep.fecha=core.darFecha()
    rep.asistio=booleano
    
    return rep
        
            
    

def asistio(unaMac):
    presente=False
    for i in core.darListaAsistencia():
        if (i[0]==unaMac):
            presente=True
    return presente        

def exportar_reporte(archivo="archivo.xml"):
    """ Exporta un grupo a un archivo xml
        Parametros: instancia de Grupo, y nombre del archivo
    """
    
    grupo = core.darGrupoEscogido()
    generar_reporte()
    # Create the minidom document
    doc = Document()

    # Create the <wml> base element
    camp = doc.createElement("CMP")
    doc.appendChild(camp)

    # Create the main <card> element
    asistencia = doc.createElement("Asistencia")
    
    group = doc.createElement("Group")
    group.setAttribute("name",grupo.nombre)
    group.setAttribute("id",str(grupo.id))
    
    memberlist= doc.createElement("memberlist")
    asistencia.appendChild(memberlist)
    
    miembros = []
    for u in grupo.miembros:
        temp  = doc.createElement("member")
        temp.setAttribute("name",u.name)
        temp.setAttribute("memberid",str(u.id))
        temp.setAttribute("MAC",u.direccion_mac)
        temp.setAttribute("BTID",u.nombre_dispositivo)
        rep= doc.createElement("event")
        rep.setAttribute("date",u.reporte.fecha)
        rep.setAttribute("assisted",str(u.reporte.asistio))
        temp.appendChild(rep)
        memberlist.appendChild(temp)
    
    
    group.appendChild(memberlist)
    asistencia.appendChild(group)
    camp.appendChild(asistencia)

    # Print our newly created XML
    f = open(archivo,"w")
    #print doc.toprettyxml(indent="  ")
    f.write(doc.toprettyxml(indent="  "))
    f.close()

    
    
    
    


#exportar_reporte("ty","tuka.xml")